package com.lvmama.dao.rhino.page;

import com.lvmama.pojo.entity.rhino.page.ContinuityCode;
import com.lvmama.pojo.entity.rhino.page.FlowData;
import com.lvmama.pojo.dto.rhino.page.FlowStatisticsVo;

import java.util.List;
import java.util.Map;


/**
 * 
* @ClassName: FlowStatisticsMapper 
* @Description: TODO 流量访问mybatis mapper
 */

public interface FlowStatisticsDao {
	
	/** 
	* @Title: queryLandingpageTab 
	* @Description: 着陆页详情tab
	* @param @param param
	* @param @return    设定文件 
	* @return List<FlowStatisticsVo>    返回类型 
	* @throws 
	*/
	List<FlowStatisticsVo> queryLandingTab(Map<String, Object> param) ;
	
	
	/** 
	* @Title: queryLandingRegion 
	* @Description: 地域分布图
	* @param @param param
	* @param @return    设定文件 
	* @return List<FlowStatisticsVo>    返回类型 
	* @throws 
	*/
	List<FlowStatisticsVo> queryByRegion(Map<String, Object> param) ;
	/**
	 * 
	* @Title: queryAccessTimeRank 
	* @Description: TODO 查询访问时长
	* @param @param param
	* @param @return    设定文件 
	* @return List<FlowStatisticsVo>    返回类型 
	* @throws
	 */
	List<FlowStatisticsVo> queryAccessTimeRank(Map<String, Object> param) ;
	
	
	/**
	 * 
	* @Title: querylandingPageSum 
	* @Description: TODO 查询着落页的总量和跳出情况
	* @param @param param
	* @param @return    设定文件 
	* @return List<FlowStatisticsVo>    返回类型 
	* @throws
	 */
	List<FlowStatisticsVo> querylandingPageSum(Map<String, Object> param) ;
	
	/**
	 * 
	* @Title: queryCrawlDepthRank 
	* @Description: TODO 查询访问深度
	* @param @param param
	* @param @return    设定文件 
	* @return List<FlowStatisticsVo>    返回类型 
	* @throws
	 */
	List<FlowStatisticsVo> queryCrawlDepthRank(Map<String, Object> param) ;

	/**
	 * 
	* @Title: queryLandingPageList 
	* @Description: TODO按照页面code和品类分组查询着落页访问流量
	* @param @param param
	* @param @return    设定文件 
	* @return List<FlowStatisticsVo>    返回类型 
	* @throws
	 */
	List<FlowStatisticsVo> queryLandingPageList(Map<String, Object> param);
	
	/**
	 * 
	* @Title: queryAccessPageList 
	* @Description: TODO 按照页面code和品类分组查询访问流量
	* @param @param param
	* @param @return    设定文件 
	* @return List<FlowStatisticsVo>    返回类型 
	* @throws
	 */
	List<FlowStatisticsVo> queryAccessPageList(Map<String, Object> param);
	
	/**
	 * 
	* @Title: queryFlowStatisticsSum 
	* @Description: TODO查询特定条件下的流量总量
	* @param @param param
	* @param @return    设定文件 
	* @return List<FlowStatisticsVo>    返回类型 
	* @throws
	 */
	List<FlowStatisticsVo> queryFlowStatisticsSum(Map<String, String> param) ;
	
	/**
	 * 
	* @Title: queryFlowFromList 
	* @Description: TODO查询某页面来源流量分布
	* @param @param param
	* @param @return    设定文件 
	* @return List<FlowStatisticsVo>    返回类型 
	* @throws
	 */
	List<FlowStatisticsVo> queryFlowFromList(Map<String, Object> param) ;
	
	/**
	 * 
	* @Title: queryFlowToList 
	* @Description: TODO 查询某页面去向流量分布
	* @param @param param
	* @param @return    设定文件 
	* @return List<FlowStatisticsVo>    返回类型 
	* @throws
	 */
	List<FlowStatisticsVo> queryFlowToList(Map<String, Object> param) ;
	
	/**
	 * 
	* @Title: queryFlowbyChannel 
	* @Description: TODO（按照条件查询各渠道访问信息，按页面code和渠道category_id分组） 
	* @param @param param
	* @param @return    设定文件 
	* @return List<FlowStatisticsVo>    返回类型 
	* @throws
	 */
	List<FlowStatisticsVo> queryFlowbyChannel(Map<String, Object> param) ;
	
	/**
	 * 
	* @Title: queryFlowbyChannelWap 
	* @Description: TODO（查询PC/M站直接访问流量统计） 
	* @param @param param
	* @param @return    设定文件 
	* @return List<FlowStatisticsVo>    返回类型 
	* @throws
	 */
	List<FlowStatisticsVo> queryFlowbyChannelWap(Map<String, Object> param) ;	
	
	/**
	 * 
	* @Title: queryFlowbyApp 
	* @Description: TODO 查询app访问的各页面的漏斗情况 
	* @param @param param
	* @param @return    设定文件 
	* @return List<FlowStatisticsVo>    返回类型 
	* @throws
	 */
	List<FlowStatisticsVo> queryFlowbyApp(Map<String, Object> param) ;
	
	List<ContinuityCode> queryContinuityCode();
	
	/**
	 * 
	* @Title: queryFlowStatisticsData 
	* @Description: TODO 查询流量来源渠道及占比
	* @param @param param
	* @param @return    设定文件 
	* @return FlowData    返回类型 
	* @throws
	 */
	FlowData queryFlowStatisticsData(Map<String, Object> param) ;

	/**
	 * 查询详情
	 * @param param
	 * @return
	 */
	List<FlowStatisticsVo>  queryFlowDetailFromList(Map<String, Object> param);

	/**
	 * 查询详情
	 * @param param
	 * @return
	 */
	List<FlowStatisticsVo>  queryFlowDetailToList(Map<String, Object> param);
	
}
